package com.lt.basic.project.application.service.mino.user;

import com.lt.basic.project.common.core.PageResult;
import com.lt.basic.project.pojo.validate.commons.IdValidate;
import com.lt.basic.project.pojo.validate.commons.PageValidate;
import com.lt.basic.project.pojo.validate.mino.user.UserCreateValidate;
import com.lt.basic.project.pojo.validate.mino.user.UserSearchValidate;
import com.lt.basic.project.pojo.validate.mino.user.UserUpdateValidate;
import com.lt.basic.project.pojo.vo.mino.user.UserDetailVo;
import com.lt.basic.project.pojo.vo.mino.user.UserListVo;

/**
 * 用户信息表业务接口
 * @author LT
 * @version 1.0.0 2023-11-27
 */
public interface IUserService {


    /**
     * 根据id获取详情数据
     * @param id 主键ID
     * @return UserDetailVo
     */
    public UserDetailVo detail(Long id);

    /**
     * 获取列表数据
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<UserListVo>
     */
    public PageResult<UserListVo> list(PageValidate pageValidate, UserSearchValidate searchValidate);

    /**
     * 添加
     * @param createValidate 参数
     */
    public void add(UserCreateValidate createValidate);

    /**
     * 编辑
     * @param updateValidate 参数
     */
    public void edit(UserUpdateValidate updateValidate);

    /**
     * 删除数据
     * @param idValidate 主键ID
     */
    public void del(IdValidate idValidate);

    public String getName(Long id);
}